#pragma once
#include <vector>

struct Point 
{
    double x;
    double y;
    double dir;

    Point(): x(0), y(0), dir(0) {};
    Point(double _x,double _y): x(_x), y(_y), dir(0) {};
    Point(double _x,double _y,double _dir): x(_x), y(_y), dir(_dir) {};
};

namespace GeoUtil {
    Point point_to_polyline_nearest_Point(Point pt, std::vector<Point> &pts);
}